package patterns.builder;


import java.util.ArrayList;
import java.util.List;

/**
 * Created by lenovo on 2016/11/23 0023.
 * 套餐组合类，用于组合不同的食物，构成不同的套餐
 */
public class Meal {
    private List<Item> items = new ArrayList<Item>();//套餐的组成部分
    //向套餐添加组成食物
    public void addItem(Item item){
        items.add(item);
    }
    //计算套餐总价
    public float getCost(){
        float cost = 0.0f;
        for(Item item:items){
            cost+=item.price();
        }
        return cost;
    }
    //显示套餐组成
    public void showItems(){
        for(Item item:items){
            //item.packMode().pack()这个理解，是不同的食物类别，它有不同的打包方式，瓶装，里面也会有不同的瓶装类型，只是此处简单写了。
            System.out.println("套餐构成：" + item.name()+",包装方式："+item.packMode().pack()+ ",单价："+item.price());
        }
    }
}
